package com.ddz.qpz;

/**
 * @Author: LiQingBo
 * @Date: 2021/11/4-11-04-22:20
 * @Description: com.ddz.qpz
 * @version: 1.0
 */
public class TestMain {
    public static void main(String[] args) {
        String s = binToDec("1101");
        System.out.println(s);
    }

    public static String binToDec(String s) {
        //定义一个数记录0和1的数量
        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            //取出每一个字符，判断是否是0或者1
            int c = s.charAt(i);
            if (c == 48 || c == 49) {
                count++;
            }
        }
        //若0和1的数量加起来等于字符串的长度，就开始转换
        if (count == s.length()) {
//            //把字符串变成一个字符数组
//            char[] arr = s.toCharArray();
//            int sum = 0;
//            for (int i = 0; i < arr.length; i++) {
//                char c = arr[i];
//                int it = Integer.parseInt(String.valueOf(c));
//                //第一个参数的第二个参数幂次值，二进制转10进制算法
//                sum += it * Math.pow(2, arr.length - 1 - i);
//            }
            //返回字符串，此处是整形，所以要强转
//            return String.valueOf(sum);
        }
        int i = Integer.parseInt(s, 2);
        //如果传的不是二进制，原样返回
        return String.valueOf(i);
    }
}
